System and method to customize bond programs compensating integrated circuit bonder variability

ABSTRACT

A computerized system and method for customizing bond programs in order to compensate first for variabilities in an integrated circuit (IC) “slave” bonder, and second to any irregularities in a “slave” circuit positioned on the slave bonder for attaching connecting bonds onto the IC bond pads. According to the invention, a “master” segmentator groups the bond pads of a “master” circuit on a master bonder into segments and stores the reference data related to these segments in a master file. Next, a slave regenerator, coupled to the master file, regenerates the master reference data so that variable characteristics of the slave bonder are defined and adaptively compensated. Finally, a slave corrector, coupled to the salve regenerator, corrects the bond program for the slave circuit on the adaptively compensated slave bonder. The slave bonder attaches the connecting bonds based on the computed correct bond locations.

FIELD OF THE INVENTION

[0001] The present invention is related in general to the field ofsemiconductor devices and electronic systems and more specifically tobond program customization and operation of computer-controlled bondingmachines used in integrated circuit assembly.

DESCRIPTION OF THE RELATED ART

[0002] In integrated circuit (IC) assembly, an IC chip is typicallymounted on a leadframe and electrically connected to it by metallicsegments. Commonly, the chip assembly is encapsulated in a protectivepackage (for instance, ceramic package, or plastic package using moldingprocess). Typically, the IC chip has a plurality of bond pads, which areoften positioned around the chip perimeter; these bond pads havepredetermined bonding area and spacing (bond pad pitch). The leadframeusually has a plurality of narrow “inner” leads for attachment to thesegments and inclusion in the package, and a plurality of wider “outer”leads for attachment to other parts such as solder attachment to circuitboards.

[0003] The metallic segments used for electrical connection of the ICchip to the leadframe include wires and ribbons, and are attached byball bonding, stitch bonding, or wedge bonding techniques. Wire bondingis a process in which a wire may be welded from a chip bond pad to thetip of an inner lead of the leadframe. As an example, in wire ballbonding the ball is attached to the chip bond pad and the stitch to theleadframe inner lead. For a given device type, there is a set oflocations expressed in x and y coordinates which defines the bondlocations on the chip and on the lead tips. These locations aregenerally stored collectively in a computer file, sometimes referred toas “Device Program”. Apart from the bond head, capable of providingx-y-z motion needed for bonding, a wire bonder has a material handlingsubsystem and the vision subsystem.

[0004] Conventional semiconductor computerized wire bonders use x-ytables to move the bonding capillary over the device for bonding betweenthe chip and the leadframe. The x-y coordinate tables are driven bycomplex electrical and mechanical components that may convert rotary andlinear motions of the axis drive motors to create the neededpositioning. The bond head also carries several other components such asthe z-axis drive motor, a camera and optics for vision functions, andfurther components required to control wire bonding. Specific featuresof the capillary and its alignment are described in a number of U.S.patents and patent applications. Examples are: U.S. Pat. No. 5,934,543,issued on Aug. 10, 1999 (Koduri et al., “Wire Bonding Capillary havingAlignment Features”); and application Ser. No. 08/993,638, filed on Dec.18, 1997 (Koduri, “Wire Bonding with Capillary Realignment”). Theinteraction of capillary and vision system is illustrated, for example,by U.S. patent applications Ser. No. 09/191,812, filed on Nov. 13, 1998(Koduri et al., “Automation of Optics Offset Measurement on WireBonders”); Ser. No. 09/111,642, filed on Jul. 8, 1998 (Koduri et al.,“An Efficient Hybrid Illuminator”); Ser. No. 09/111,977, filed on Jul.8, 1998 (Koduri et al., “An Efficient Illumination System for WireBonders”).

[0005] The material handling system moves a leadframe so that eachdevice can eventually be placed under the bond head for bonding. One ormore devices may be placed under the bond head at a time to be bonded.The device may also be heated in a predetermined manner to establishreliable metallurgical bonding conditions. After a device has beenbonded, the leadframe is step-moved such that the next unit can bebonded.

[0006] When a unit is indexed in by the material handling system forbonding, the position of the leadframe and the chip is not always thesame because of variations in the handling and previous manufacturing(such as variable chip positioning during attachment to the leadframe).Without knowing accurately the target bonding locations, the bond headcannot place the bonds as expected. To aid this process, a machinevision system is employed. A typical vision system consists of a set ofoptics to provide the needed illumination and magnification of thedevice, a camera to capture the image provided by the optics and animage processing system to store and analyze the captured image.

[0007] Before bonding a device, it is essential to determine the deviceprogram with all the coordinate locations of the bonds that need to becreated. With respect to a predetermined set of reference locations,those locations are often referred to as “homes”. A typical device mayhave one or more “homes”. Generally, the identification of homes needsto be done individually for each device to be bonded. It is commonpractice to use a three-step process to enable such identification.

[0008] In the step of “teaching”, the coordinate locations of the homesand all the needed bonds are identified and saved to create the “deviceprogram”. Once generated, a device program can be stored, copied and/orshared between multiple machines as needed.

[0009] In the step of “regeneration”, a human operator helps in locatingthe homes of the first device after loading in the information from thepreviously saved device program. At this point, the machine captures andsaves a set of images, called “reference images” or “references” in theneighborhood of each home.

[0010] In the step of “bonding”, the machine indexes one unit or more ata time into the workstation under the bond head. At this point, thevision system, with the aid of a pattern recognition system, attempts torelocate the matching locations with the saved references. After findingthe new coordinates of the matching references, the home and bondlocations are re-computed for that specific unit from the device programdata. The process of relocating the references and homes is normallyreferred to as “aligning” the device. Using the specific bond locations,the device can now be bonded. The process of indexing, aligning andbonding is repeated without any human intervention as long as nothingabnormal happens on the machine.

[0011] A typical alignment procedure may correct for a constant shift inx-y directions and/or a constant rotation of the device. In thiscontext, it is important to understand the effects of variations inillumination settings across machines and the images formed usingdifferent levels of brightness. Large differences in intensity settingscan reduce the ability of the pattern recognition system to locate thereferences accurately. It is very much desired to have a consistentlevel of brightness and image quality across all the machines used.

[0012] Problems in wire bonding techniques arise in part from thetechnology trends to increase the number of leads in a given package andto make IC chip packages smaller. As consequences, the bonding padslocated on the chip receive smaller areas and are spaced closertogether, and the inner leads of leadframes are made narrower and closertogether. These trends demand tighter control of wire bond ball andstitch geometries and placements. For instance, even small bondplacement errors may result in device loss.

[0013] For the bond machines, errors in x-y tables and motors need to bereduced. At the microscopic level, each axis of each table behavesdifferently with its own local variations within their usable regime.For instance, an axis might have a 0.5% error in its first half ofworking distance and a 0.8% error in its second half. Further, a x-ypair might have a global positioning error because of an error in theorthogonality between them; or the tables may exhibit a range ofhysteresis errors. These variations become even more threatening ascommon device programs are shared due to quality enforcement andeconomic reasons.

[0014] The emerging technical problems for automated bond machines canbe summarized as follows:

[0015] Accuracy: Small ball/fine pitch bonding requires a very accuratesystem to be able to place the ball completely on the bond pad. Thecurrent systems have difficulties in achieving this.

[0016] Large variations in illumination settings can lead to variationsof the images as seen by the optics and the camera. These variations mayaffect the ability of the pattern recognition system in locating thehomes and bond locations accurately.

[0017] The current systems cannot handle x-y table inconsistencies. Forsmall pad/fine pitch bonding, a small error in ball placement can causethe ball to be partially off the pad.

[0018] Human error during regeneration of alignment program: Ballplacement is greatly affected by the accuracy of the alignment program.There are many steps to this regeneration process and thus there aremany chances for human error.

[0019] Time spent performing alignment regeneration: Whenever a deviceis to be bonded, a human operator typically has to spend a finite amountof time to perform an alignment regeneration.

[0020] An urgent need has therefore arisen for a fast, reliable andflexible system and method to reduce set-up time, reduce errors duringcreation and retrieval of bonding programs, compensate for machinevariability, and standardize illumination conditions on bondingmachines. The system and method should be flexible enough to be appliedfor different IC product families with a wide spectrum of designvariations, and for different bond machines. The system and methodshould spearhead solutions toward the goals of improved product yieldand reliability, preferably without investment in new equipment.

SUMMARY OF THE INVENTION

[0021] The present invention provides a computerized system and methodfor customizing bond programs in order to compensate first forvariabilities in an integrated circuit (IC) “slave” bonder, and secondto any irregularities in a “slave” circuit positioned on the slavebonder for attaching connecting bonds onto the IC bond pads. Accordingto the invention, a “master” segmentator groups the bond pads of a“master” circuit on a master bonder into segments and stores thereference data related to these segments in a master file. Next, a slaveregenerator, coupled to the master file, regenerates the masterreference data so that variable characteristics of the slave bonder aredefined and adaptively compensated. Finally, a slave corrector, coupledto the salve regenerator, corrects the bond program for the slavecircuit on the adaptively compensated slave bonder. The slave bonderattaches the connecting bonds based on the computed correct bondlocations.

[0022] The present invention is related to high density ICs, especiallythose having high numbers of input/outputs and tight constraints inpackage outline and profile. These ICs can be found in manysemiconductor device families such as processors, standard linear andlogic products, digital and analog devices, high frequency and highpower devices, and both large and small area chip categories. Since theinvention aims at designing devices with minimum geometries and highreliability, it supports continually shrinking applications such ascellular communications, pagers, hard disk drives, laptop computers andmedical instrumentation.

[0023] It is an object of the present invention to provide an automatedsystem and method for compensating for apparatus-dependent variabilityof the slave bonder, as well as for adapting to time-dependentvariability of the bonder. The object is achieved by an embodiment ofthe invention using a computer system and computer-implemented method ofcomparing certain groupings (“segments”) of bond pads, and identifyingand correcting any shifts, rotations, or scalings.

[0024] Another object of the invention is to provide an automated systemand method for retrieving master information and comparing it with theactual bond pad locations on the circuit-to-be-bonded, followed byautomated corrections, while entering the master input data manually byan expert. Constructing the network of relationships between the entereddata is also computerized. The object is achieved by an embodiment ofthe invention using a computer system and a computer-implemented methodfor automatically collecting, analyzing and storing the neededinformation.

[0025] Another object of the present invention is to provide a highlyflexible system and method. This object is achieved by the embodimentsof three subsystems of the invention:

[0026] A master segmentator providing a user-friendly manual input datagenerator operable to select bond pad segments, alignment referencepoints, reference images, and bond pad points from a master circuitbelonging to the same device family as the circuit-to-be-bonded (“slavecircuit”).

[0027] Further, a computerized analysis generator operable to establishgeometric relationships, expressed in x-y and polar coordinates, betweenthe master circuit bond pad locations, bond pad segments, and referencestructures, and to store all data and relationships in a master file.

[0028] A computerized slave re-generator operable to download these dataand relationships to a slave bonder designated to perform the bondingprocesses on the slave circuit.

[0029] Further, an adaptive compensator having a segment comparator anda bond location corrector, operable to compare bond pad segments fromthe master file to segments generated from a first selected slavecircuit, to correct any shifts, rotations or scalings between these twosegments, and to correct computationally bond pad locations.

[0030] A computerized slave corrector operable to identify and correctshifts, rotations or scalings of a slave circuit-to-be-bonded, which isselected consecutively after the first slave circuit. After bond programcorrections, the slave bonder is ready to perform the bonding processeson the re-computed pads of the slave circuit.

[0031] Another object of the present invention is to provide the newlycomputed bond locations in fast turnaround time and with minimum effortby taking full advantage of symmetries and branching in thecomputational flows of the input and analysis generators, thesegmentator, the retriever, and the corrector.

[0032] Another object of the present invention is to introduce bondprogram teaching, loading (“regeneration”) and correcting concepts whichare flexible so that they can be applied to many families of electronicstructures—reaching from piece parts, such as leadframes andinterconnectors, to device packages, to electronic substrates, and towhole assemblies on motherboards—and are general so that they can beapplied to several generations of products.

[0033] Beyond the electronics realm, the computerized system and methodof this invention can be generally applied to reduce operational programerrors on slave machines prepared to work on action sites of slaveobjects, when a master machine and a master object, having a structuresimilar to the slave object, are available.

[0034] The technical advances represented by the invention, as well asthe objects thereof, will become apparent from the following descriptionof the preferred embodiments of the invention, when considered inconjunction with the accompanying drawings and the novel features setforth in the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

[0035]FIG. 1 is a schematic and simplified top view of an integratedcircuit (IC) chip illustrating bond pads with correctly placed bondattachments, and groupings of bond pads into segments.

[0036]FIG. 2 is a schematic and simplified top view of an IC chipillustrating bond pads with erroneously placed bond segments.

[0037]FIG. 3 illustrates a block diagram of a computer system forcustomizing bond programs and compensating integrated circuit bondervariability according to the invention.

[0038]FIG. 4 illustrates a block diagram of the detail of the input datagenerator associated with the computerized master bonder.

[0039]FIG. 5 illustrates a block diagram of the detail of the analysisgenerator and the master file associated with the computerized masterbonder.

[0040]FIG. 6 is a flow chart of the method used to generate inputs andanalysis according to the invention.

[0041]FIG. 7 illustrates a block diagram of the detail of the slaveregenerator for retrieval, capture and rebuild associated with thecomputerized slave bonder and slave circuit.

[0042]FIG. 8 is a flow chart of the method used by the slave regeneratoraccording to the invention.

[0043]FIG. 9 illustrated a block diagram of the detail of the slavecorrector associated with the usage/bonding of the computerized slavebonder and slave circuit.

[0044]FIG. 10 is a flow chart of the method used by the slave correctorand the slave bond head according to the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0045] In order to eliminate variability of the automated bondingmachines (“bonders”), which may depend on the specific apparatus or maybe time-dependent, the invention uses the approach to group a small setof bond pad locations into “segments” during the device program“teaching”. As examples, FIGS. 1 and 2 illustrate the approach and thesolution to problems in assembling semiconductor chip 110 caused bymachine-related errors in bonding operation. As illustrated in FIG. 1, aplurality of bond pads 100 lined up along one of the x or y axes may begrouped as a segment. All or some of the bond pads may be grouped intodifferent segments, such as the four segments 101, 102, 103, and 104 inFIG. 1, each containing six bond pads. Within the small stretch coveredby the segment, it may be assumed that the bonding tables behavelinearly (polynomially). (In the ideal assembly case illustrated, allbonds 100 a attached to pads 100 are located in the center of the padareas.)

[0046] Each segment may further have one or more references associatedwith it. These references may contain the image of the entire segment ora part of its neighborhood. FIG. 2 shows an example of segmentreferences for the segments illustrated in FIG. 1. Associated withsegment 101 is reference 201, containing all of the bond pads.Associated with segment 102 are the references 202 a and 202 b.Associated with segment 103 is reference 203. Associated with segment104 are references 204 a and 204 b. During device program “teach”, thedata relating to the position and contents of the segments and segmentreferences is also saved into the device program along with the otherinformation that is usually considered as a part of the device programinformation.

[0047] The number, location, size and shape of the segments and segmentreferences may be selected manually by the expert creating the deviceprogram, or may be selected automatically by the image processingsystem. In either case, rules are enforced that would enable easyidentification of uniquely matching position at a later time.

[0048] With all this data, a segment may contain the information aboutthe bonds included in that segment and the references associated withthe segment according to the conditions of the program generation. Whensuch a device is copied to a different bonding machine with differentx-y table characteristics, the coordinates of various points in thedevice program need to be “customized” for the new conditions. This maybe achieved with the aid of the vision system to locate the newpositions of the individual segment references.

[0049] By studying the positional relationship between the segmentreferences during the teach (as saved in the device program) and the waythey are newly located, the positioning system variations can be modeledas a mathematical relationship. Depending on the number of referencesselected, the model may provide the information to correct forvariations in translation (shifts), rotation, scale (expansion),skewness, and others. In this correction, parameters can be appliedlocally to only those coordinates of the bonds belonging to thatsegment.

[0050] Repeating the process on all the segments of the device willre-map all the useful travel locations of the positioning system bymatching it at all local positions with that of the bonding machine(“master bonder”) on which the device program was originally created.

[0051] This procedure will assume the master bonder to have thefundamental conditions which all others will emulate to createuniformity among the bonders that are inherently different.

[0052] Once a device program is customized for an individual machine(“slave bonder”), a temporary copy of the variation-adjusted deviceprogram is created and used to bond a plurality of devices. When adifferent batch of devices is required to be bonded on the same bonder,a corresponding device program is brought in and the process isrepeated.

[0053] The system and method disclosed by the present invention foradaptively compensating the slave bonder and subsequently correcting thebond program of the device-to-be-bonded are described in FIGS. 3 to 10.

[0054] In order to highlight the conceptual breadth of the presentinvention, as summarized in the block diagram of FIG. 3, it should bepointed out that the contributing innovations come from three regimes ofthe assembly and bonding process:

[0055] Establishing the Master Bond Program (“Teaching”): “MasterSegmentator”

[0056] Defining bond locations (x-y parameters).

[0057] Defining a set of bond segments (a series of bond points.

[0058] Defining a set of segment images related to each bond segment.

[0059] Relating the bond locations, the bond segments, and segmentimages in a network of relationships.

[0060] Saving data and relationships in a master bond program (masterfile).

[0061] Regenerating (Loading) Master Bond Program: “Slave Regenerator”,Machine-Specific Corrections

[0062] Retrieving the saved master program onto any other selectedmachine (“slave bonder”).

[0063] Using the segment images to relocate all the individual bondsegments and the bond locations in all the segments.

[0064] Comparing the new bond locations with the taught ones andcorrecting for any local and global variations in the slave machine'smoving parts.

[0065] Bonding the Slave Circuit using Unit-Specific Corrections: “SlaveCorrector”

[0066] Bonding using the newly computed bond locations.

[0067] The above list shows that the invention uses automation in orderto solve the problem of variable machine characteristics (variable frombonder to bonder and within time), for which in standard technology ahuman operator has to get involved. In principle, the innovation isbased on relationships expressed between geometrical x-y locations andimages of bond pads, bond pad segments and references.

[0068] The description of the invention based on FIG. 3 and the moredetailed FIGS. 4 to 10 illustrates that the invention is not restrictedto ICs, bonders and bonding technology. It can be generalized to similartasks involving machines with variable characteristics, or in which aprocess is to be performed on objects with imperfections or deviationsrelative to a master object.

[0069] As illustrated schematically in the simplified block diagram ofFIG. 3, the computerized system of the present invention, generallydesignated 300, operates to customize the bond program for a slavecircuit on a slave bonder. The system provides a master segmentator 310operable to group the bond pads of a master circuit on a master bonderinto segments and store the reference data related to the segments in amaster file 313 (master bond program). The system further provides aslave regenerator 320, coupled to the master file 313, operable toregenerate the master reference data so that variable characteristics ofthe slave bonder are defined and adaptively compensated. The systemfinally prides a slave corrector, coupled to the slave regenerator,operable to correct the bond program for the slave circuit on theadaptively compensated slave bonder.

[0070] The master segmentator 310 provides data generation as well asdata analysis for creating corrected bonding instructions for thebonding process of an IC. A first data input generator 311 is associatedwith a master IC on a master bonding machine and collects data manuallyby a human expert. Included in these data are geometrical informationsuch as x-y locations of bond pads, x-y locations of bond segments, andimages of these segments and geometrical information of these images.All data is collected from a master IC which is related in geometry tothe circuit-to-be-bonded, usually an IC of the same device type.

[0071] Input data generator 311 is connected to an analysis generator312, also associated with the master bonder and operated manually by ahuman expert. The analysis generator establishes relationships for themaster bonder between the geometrical information of the bond pads, thebond segments and the segment images. It further constructs a network ofthese relationships. The analysis generator 312 then stores the networkof relationships together with the geometrical information of the bondpads, bond segments and images in the master file 313. These stored datais referred to as the master bond program. It is coupled to the masterbonder, but also to any selected bonder working as slave bonder.

[0072] Associated with the slave regenerator 320 on the slave bonder isthe second input data generator 321 which collects images from theplurality of bond segments on the circuit-to-be-bonded. The bondsegments define the variable characteristics of the slave bonder. Theimages are made available in conjunction with the data retrieved bysegment comparator 323 within the adaptive compensator 322.

[0073] Associated with the slave bonder is the adaptive compensator 322,operated by computer or, alternatively, manually by the user of theslave bonder. The first part of the adaptive compensator 322 is thesegment comparator 323, which is coupled to master file 313 and thesecond input data generator 321. It has the job of retrieving the bondsegment images from the master bond program 313 as well as from thesecond input data generator 321. Based on this comparison, the variableslave bonder characteristics are quantified and the bond segments arerelocated.

[0074] Further associated with the slave bonder and the adaptivecompensator 322 is the bond location corrector 324, which is coupledboth to the segment comparator 323. Bond location corrector 324retrieves the relocated bond segments and re-computes the bond locationsin each of the segments.

[0075] The third input generator 325, associated with the slave bonderand coupled to the master file 313, generates images of the alignmentreferences on the slave circuit selected as the first one to be bondedby the slave bonder.

[0076] The relationship generator 326, associated with the slave bonderand coupled to the bond location corrector 324 and the third input datagenerator 325, constructs relationships for the slave bonder between there-computed bond locations, the alignment reference images and thereference image locations. These relationships comprise equations in x-ycoordinates and polar coordinates.

[0077] Further associated with the slave bonder is the slave corrector330. It includes the fourth input data generator 331 which generatesimages of alignment references on the slave circuit selected next(consecutive to the previous one) to be bonded by the slave bonder.These images are forwarded to the bond program corrector 332.

[0078] The bond program corrector 332 within the slave corrector 330 isassociated with the slave bonder and coupled to the relationshipgenerator 326 and the fourth input data generator 331. The bond programcorrector 332 compares the alignment reference images from the thirdinput data generator 325 and the fourth input data generator 331 andcombines the results with the relationships from relationship generator326. Based on this comparison, the bond pad x-y locations are recomputedand the bond program of the slave bonder is corrected. Directed by therecomputed bond program, the computerized slave bonder is enabled toattach the connecting bonds to the correct bond pad locations of theconsecutively selected slave circuit, free of errors and manual operatorinterference.

[0079] The computerized system 300 is generally capable of adaptivelycompensating slave machine variable characteristics and eliminatingerrors of an operational program in a slave machine which is prepared towork on action sites of a slave object. Examples are characteristics andprograms of machines which function to deposit materials onto objectsurfaces (for instance, by printing, inking or jetting), or which are toperform operations in a patterned arrangement (for instance, drilling ofholes). The principals of this invention apply to these examples.

[0080]FIG. 4 shows the input data generator 311 in more detail. Thefirst organizer 401 operates to select bond pad points and to collectthe x-y locations correlated to these points. This “teaching” of bondpad points can be performed manually. The organizer then stores thesex-y locations data in file 402. Consequently, file 402 serves to savethe bond pad x-y locations.

[0081] File 402, and thus the first organizer 401, is coupled tosegmentator 403. This segmentator operates to group the bond pads intosegments and to determine which bond points belong to which of thesesegments. The segments data are stored in the bond pad segments file404. This segmentation can be performed manually.

[0082] File 404, and thus segmentator 403, is coupled to the secondorganizer 405. This second organizer 405 operates to select x-ylocations and geometrical information identifying segment images, and tostore the image x-y locations data in file 406. Consequently, file 406serves to save segment image x-y locations. This “teaching” of thesegment images can be performed manually.

[0083] File 406, and thus the second organizer 405, is coupled tocollector 407. This collector 407 operates to collect images of thesegments and to store these images in segment image file 408. This imagecollection can be performed manually. Segment image file 408 is coupledto analysis generator 312.

[0084]FIG. 5 shows the function of the analysis generator 312 in moredetail. The analysis generator 312 is a computerized relations builder.In its operation it first selects segments, images identifying thesesegments, and x-y locations of the bond pads and the images. Theanalysis generator then expresses their mutual relationships inequations expressed in x-y coordinates and polar coordinates. As aresult, an interconnected network of relationships between bondlocations, segments, segment identifying images, and segment identifyingimage locations is established.

[0085] This interconnected network is stored in master file 313.Further, master file contains all the geometrical data and the images ofthe bond pads and segments as well as the relationships.

[0086] The computerized method of generating input data and performingand storing the analysis of the data according to the invention isdescribed by the process flow of FIG. 6. The software loop 610 providesthe bond points input data, the software loop 620 provides the segmentidentifying images input data for one segment, and the software loop 630provides the segment identifying images input data for all segments.Loop 610 begins with the input step:

[0087]611: Teaching bond point location.

[0088] The data collected from this input source are stored in file 612.After each acquisition loop, the question is asked in gate 618, whetherall bond points have been taught. As long as the answer is “no”, anotherloop of data acquisition has to be performed. When the answer is “yes”,the input process advances to creating segments by grouping bond points(619). The segments proceed to the loop 620.

[0089] Segments loop 620 begins with the input step:

[0090]621: Teaching segment-identifying image location.

[0091]622: Teaching segment-identifying image size.

[0092]623: Teaching light setting.

[0093] The data collected from these three input sources are stored infile 624. After each acquisition loop, the question is asked in gate628, whether all segment-identifying images have been taught for thissegment. As long as the answer is “no”, another loop of data acquisitionhas to be performed. When the answer is “yes”, the input processadvances to gate 629 which asks the question whether allsegment-identifying images have been taught for all segments. As long asthe answer is “no”, another loop 620 of data acquisition has to beperformed. When the answer is “yes”, the input process advances to theanalysis generator 640.

[0094] The data stored in file 612 together with the data stored in file624 are used by the analysis generator 640 to construct the mathematicalequations expressing the relationships between the bond pad points, thesegment-identifying images and the segment-identifying image locationsof the master circuit as described above. The resulting network ofrelations, together with all the locations data and images, is stored inmaster file 313 as the master bond program (“device program”).

[0095]FIG. 7 shows the slave regenerator 320 (see FIG. 3), associatedwith the slave bonder, in more detail. Three sets of data are downloadedfrom the master file:

[0096] Bond points loader 711;

[0097] segment identification loader 712;

[0098] alignment reference image location loader.

[0099] The bond points loader 711 operates to download stored masterbond points x-y locations data. The segment identification loader 712operates to download stored master segment x-y locations data. These twodata sets are combined in the segment image locations loader 714 whichidentifies segment image x-y locations data. These data are thenforwarded to the segment image loader 715 where they are combined withthe segment identification loader 712 in order to identify segmentimages (from the master circuit). The data is then forwarded to theadaptive compensator 720, specifically to the segment comparator 721,which quantifies the variable characteristics of the slave bonder.

[0100] Segment comparator 721 retrieves the bond segment images fromsegment image loader 715 and segment identification loader 712. Itcompares the images of the master circuit with the images of bondsegments collected by the second input data generator 730 from theparticular slave circuit which has been selected first to undergo thebond attachment steps. As a result of this comparison, the variablebonder characteristics can be quantified, and the bond segments can berelocated. Based on this comparison, the bond location corrector 722,which retrieves the relocated bond segments 721, can now re-compute thebond locations in each segment. Consequently, the individualcharacteristics of the slave bonder are adaptively compensated, both theapparatus-specific irregularities and any time-variable features.

[0101] The alignment reference image location data 713 from the mastercircuit are input into the alignment reference image collector 741 andcombined with slave circuit images provided by image generator 742.Collector 741 thus generates images of the alignment references on theslave circuit and creates input data (as third input data generator 740)to be combined with the corrected bond locations data 722 and forwardedto the relationship generator 750.

[0102] Relationship generator 750 operates to construct relationshipsfor the slave bonder between the re-computed bond locations, thealignment reference images and the reference image locations. Theserelationships are forwarded to the bond program corrector.

[0103] The computerized method of adaptively compensating the slavebonder characteristics according to the invention is described by theprocess flow of FIG. 8. The software loop 801 provides the inputs forthe adaptive compensator. The software loop 802 provides the inputs ofthe third input data generator. Both loops begin by selecting a deviceprogram from the master file. Loop 801 consists of the steps of:

[0104]811: Downloading segment-identifying image locations.

[0105]812: Downloading segment-identifying images.

[0106]813: Downloading bond x-y points.

[0107]814: Downloading relationships between bond points,segment-identifying images and segment-identifying image locations.

[0108] After each downloading loop, the question is asked in gate 818,whether all downloaded data is valid. As long as the answer is “no”,another loop of data downloading has to be performed. When the answer is“yes”, the data advances to the comparison step 830 in the segmentcomparator.

[0109] In process step 830, the loaded segment-identifying image iscompared with segment images newly captured from the slave circuit,which has been selected first to undergo the bond-attaching steps. Basedon this comparison, process step 831 is correcting the segment and bondlocations so that they custom-fit the slave bonder used. The individualslave bonder characteristics are thus adaptively compensated.

[0110] Loop 802 consists of the steps of:

[0111]821: Downloading reference image locations.

[0112]822: Downloading reference image sizes.

[0113]823: Downloading light settings.

[0114]824: Capturing/generating alignment reference images.

[0115] After each downloading and capturing loop, the question is askedin gate 828, whether all align reference images have been collected. Aslong as the answer is “no”, another loop of data downloading andgenerating has to be performed. When the answer is “yes”, the slaveregeneration process advances to the step 840 of generatingrelationships.

[0116] In process step 840, the re-computed bond locations from step831, the alignment reference images and the alignment reference imagelocations from step 828 are combined to construct relationships betweenthem in the form of mathematical equations. The relationships advance tothe bond program corrector.

[0117]FIG. 9 illustrates detail of the slave corrector, associated withthe slave bonder. As shown in FIG. 9, data retrieved from the alignmentreference image collector 741 (in the third input data generator) arecombined in the alignment reference comparator 903 with new images ofalignment references supplied by the fourth input data generator 901.These new images are collected from the next slave-circuit-to-be bonded,selected consecutively from the plurality of slave circuits. Thealignment reference comparator 903 operates to compare the alignmentreference images from the consecutively selected slave circuit with thealignment reference images from the first selected slave circuit and toquantify any shifts, rotations or scalings between the two images orimage parts.

[0118] Any deviations found by the comparator 903 are corrected inre-computor 904. The results are then combined with the recreated bonx-y locations data from the bond location corrector 722 (in the adaptivecompensator) and the rebuilt relationships between the bond locationsand the alignment reference image locations, as obtained by therelationship generator. Based on these data, the re-computor 904 is thencorrecting the bond pad locations of the consecutively selected slavecircuit and thus correcting the bond program of the slave bonder forattaching bonds onto the bond pads of the consecutively selected slavecircuit. Alignment reference comparator 903 and re-computor 904 form thebond program corrector 902.

[0119] The corrected coordinates (x-y locations) of the slave circuitbond pads can now be forwarded to the bonding machine (bonder) 910. Thecomputerized bonder 910, coupled to the bond program corrector 902,operates as the slave bonder to attach the connecting bonds (wires,ribbons, balls, stitches, etc.) to the bond pads of the slavecircuit-to-be-bonded under the direction of the re-computed bond padlocations (bond program) provided by the re-computor 904.

[0120] The computerized method of computing, correcting, and using bondpad data by the slave corrector according to the invention is describedby the process flow of FIG. 10. The process starts with the step of:

[0121]1001: Bringing the next circuit-to-be-bonded (“new” slave circuit)into the bonder work station (slave bonder).

[0122]1002: Capturing alignment reference images on the new slavecircuit.

[0123]1003: Comparing alignment references of third input data generator(740 of FIG. 7) with the new device alignment reference image.

[0124]1008: After each identification of a reference, the question isasked in gate 1008, whether all references have been compared/located.As long as the answer is “no”, another loop 1010 of comparing/locatingreferences has to be performed. When the answer is “yes”, the processflow advances to step 1021:

[0125]1021: Computing any shifts, rotations, or scalings found on thisslave circuit, as described in FIG. 9.

[0126]1022: Re-computing the correct bond pad locations on the slavecircuit. After each re-computing, the question is asked in gate 1028,whether all slave circuit bond pad locations are valid. As long as theanswer is “no”, another loop 1020 of re-computing and correcting has tobe performed. When the answer is “yes”, the actual bonding process 1031on the slave circuit can begin.

[0127] In loop 1030 finally, another circuit is readied for the bondingprocess and subjected to the process flow as described above.

[0128] While this invention has been described in reference toillustrative embodiments, this description is not intended to beconstrued in a limiting sense. Various modifications and combinations ofthe illustrative embodiments, as well as other embodiments of theinvention, will be apparent to persons skilled in the art upon referenceto the description. It is therefore intended that the appended claimsencompass any such modifications or embodiments. As an example, thecomputer-implemented method of the invention can be applied for reducingoperational program errors in any slave machine, prepared to work onaction sites of any slave object, and comprises the steps of:

[0129] generating input data associated with a master machine, said datacollected from a master object, related in geometry or history to saidslave object, and comprising geometrical information of action sites andaction segments, images of said segments, and geometrical information ofsaid images;

[0130] generating an analysis for constructing relationships for saidmaster machine between said action site locations, action segments, andsegment image locations;

[0131] storing said relationships, said geometrical information and saidimages in a master file as an operational master program;

[0132] generating input data associated with said slave machine, saiddata collected from said slave object and comprising images of aplurality of action segments, defining the variable characteristics ofsaid slave machine;

[0133] retrieving said action segment images from said masteroperational program as well as from said slave machine, comparing andquantifying said variable machine characteristics, and relocating saidaction segments;

[0134] retrieving said relocated action segments and re-computing saidaction locations in each of said segments;

[0135] generating input information comprising images of alignmentreferences collected from an object selected first from said slaveobjects;

[0136] constructing relationships for said slave machine between saidre-computed action locations, said alignment reference images, and saidreference image locations;

[0137] generating input information comprising images of alignmentreferences collected from an object selected consecutively from saidslave objects;

[0138] comparing said alignment reference images from said firstselected slave object with said alignment reference images from saidconsecutively selected slave object; and

[0139] correcting any deviations found between said reference images,combining the result with said relationships, re-computing said actionx-y locations, and correcting said operational program of said slavemachine for working on said action sites of said consecutively selectedslave object.

We claim:
 1. A computerized system for customizing the operationalprogram for a slave object on a slave machine, comprising: a mastersegmentator operable to group the action sites of a master object on amaster machine into segments and store the reference data related tosaid segments in a master file; a slave regenerator, coupled to saidmaster file, operable to regenerate said master reference data so thatvariable characteristics of said slave machine are defined andadaptively compensated; and a slave corrector, coupled to said slaveregenerator, operable to correct said operational program for said slaveobject on said adaptively adaptively compensated slave machine.
 2. Acomputerized system for customizing the operational program in a slavemachine prepared to work on action sites of a slave object, said programintended to compensate variable characteristics of said slave machine,comprising: a first input data generator, associated with a mastermachine, operable to collect data from a master object which is relatedin geometry or history to said slave object, comprising geometricalinformation of action sites and action segments, images of saidsegments, and geometrical information of said images; an analysisgenerator, associated with said master machine and coupled to said firstinput data generator, operable to construct relationships for saidmaster machine between said action site locations, action segments, andsegment image locations; a master file, coupled to said analysisgenerator, operable to store said relationships, said geometricalinformation and said images as an operational master program; a secondinput data generator, associated with said slave machine, operable togenerate images of a plurality of action segments of said slave object,defining the variable characteristics of said slave machine; a segmentcomparator, associated with said slave machine and coupled to saidmaster file and said second input data generator, operable to retrievesaid action segment images from said master operational program as wellas from said second input data generator, to compare and quantify saidvariable machine characteristics, and to relocate said action segments;an action location corrector, associated with said slave machine andcoupled to said segment comparator, operable to retrieve said relocatedaction segments and to re-compute said action locations in each of saidsegments; a third input data generator, associated with said slavemachine and coupled to said master file, operable to generate images ofalignment references on an object selected first from said slaveobjects; a relationship generator, associated with said slave machineand coupled to said action location corrector and said third input datagenerator, operable to construct relationships for said slave machinebetween said re-computed action locations, said alignment referenceimages and said reference image locations; a fourth input datagenerator, associated with said slave machine, operable to generateimages of alignment references on an object selected consecutively fromsaid slave objects; and an operational program corrector associated withsaid slave machine, coupled to said relationship generator and saidfourth input data generator, operable to compare said alignmentreference images from said third and fourth input data generators, tocombine the result with said relationships, to re-compute said actionsite locations, and to correct said operational program of said slavemachine for working on action sites of said consecutively selected slaveobject.
 3. A computerized system for customizing the bond program for aslave circuit on a slave bonder, comprising: a master segmentatoroperable to group the bond pads of a master circuit on a master bonderinto segments and store the reference data related to said segments in amaster file; a slave regenerator, coupled to said master file, operableto regenerate said master reference data so that variablecharacteristics of said slave bonder are defined and adaptivelycompensated; and a slave corrector, coupled to said slave regenerator,operable to correct said bond program for said slave circuit on saidadaptively compensated slave bonder.
 4. A computerized system forcustomizing the bond program in a slave bonder prepared to attachconnecting bonds onto bond pads of a slave integrated circuit, saidprogram intended to compensate variable characteristics of said slavebonder, comprising: a first input data generator, associated with amaster bonder, operable to collect data from a master integrated circuitwhich is related in geometry to said slave integrated circuit,comprising geometrical information of bond pads and bond segments,images of said segments, and geometrical information of said images; ananalysis generator, associated with said master bonder and coupled tosaid first input data generator, operable to construct relationships forsaid master bonder between said bond pad locations, bond segments, andsegment image locations; a master file, coupled to said analysisgenerator, operable to store said relationships, said geometricalinformation and said images as a master bond program; a second inputdata generator, associated with said slave bonder, operable to generateimages of a plurality of bond segments of said slave circuit, definingthe variable characteristics of said slave bonder; a segment comparator,associated with said slave bonder and coupled to said master file andsaid second input data generator, operable to retrieve said bond segmentimages from said master bond program as well as from said second inputdata generator, to compare and quantify said variable bondercharacteristics, and to relocate said bond segments; a bond locationcorrector, associated with said slave bonder and coupled to said segmentcomparator, operable to retrieve said relocated bond segments and tore-compute said bond locations in each of said segments; a third inputdata generator, associated with said slave bonder and coupled to saidmaster file, operable to generate images of alignment references on acircuit selected first from said slave circuits; a relationshipgenerator, associated with said slave bonder and coupled to said bondlocation corrector and said third input data generator, operable toconstruct relationships for said slave bonder between said re-computedbond locations, said alignment reference images and said reference imagelocations; a fourth input data generator, associated with said slavebonder, operable to generate images of alignment references on a circuitselected consecutively from said slave circuits; and a bond programcorrector associated with said slave bonder, coupled to saidrelationship generator and said fourth input data generator, operable tocompare said alignment reference images from said third and fourth inputdata generators, to combine the result with said relationships, tore-compute said bond pad x-y locations, and to correct said bond programof said slave bonder for attaching bonds onto said bond pads of saidconsecutively selected slave circuit.
 5. The system according to claim 4wherein said first input data generator comprises: a first organizeroperable to select bond pad points, to collect the x-y locationscorrelated to said points, and to store the x-y locations data in areference x-y file; a segmentator, coupled to said first organizer,operable to group said bond pads into segments, to determine which bondpoints belong to which of said segments, and to store said segments datain a bond pad segments file; a second organizer, coupled to saidsegmentator, operable to select x-y locations and geometricalinformation identifying segment images, and to store said image x-ylocations data in a segment image x-y locations file; and a collector,coupled to said second organizer, operable to collect images of saidsegments and to store said images in a segment image file.
 6. The systemaccording to claim 5 wherein said input data are collected manually byan expert.
 7. The system according to claim 5 wherein said input dataare collected automatically.
 8. The system according to claim 4 whereinsaid bond program comprises bonding parameters for integrated circuitchip assembly.
 9. The system according to claim 4 wherein said imagesare created by illumination, optics, and photographic cameras coupled tosaid computer-controlled bonders.
 10. The system according to claim 4wherein said master bonder is a computer-controlled independent bonderhaving well-understood characteristics.
 11. The system according toclaim 4 wherein said slave bonder is any computer-controlled bonder. 12.The system according to claim 4 wherein said master integrated circuitis an integrated circuit used as a reference circuit.
 13. The systemaccording to claim 4 wherein said slave integrated circuit is anintegrated circuit identical in type to said master integrated circuit,said slave circuit to be bonded by said slave bonder.
 14. The systemaccording to claim 4 wherein said analysis generator comprises: acomputerized relationship builder operable to select segments, imagesidentifying said segments, and x-y locations of said bond pads and saidimages, and to express their mutual relationships in order to establishan interconnected network of said relationships; and a file operable tostore said interconnected network as said master bond program.
 15. Thesystem according to claim 14 wherein said interconnected network isexpressed in equations comprising x-y as well as polar coordinates. 16.The system according to claim 4 further having a computerized slaveregenerator comprising: a bond points loader, coupled to said masterfile, operable to download stored master bond points x-y locations data;a segment identification loader, coupled to said master file, operableto download stored master segment x-y locations data; a segment imagelocations loader, coupled to said bond points loader and said segmentidentification loader, operable to identify segment image x-y locationsdata; a segment image loader, coupled to said segment identificationloader and said segment image location loader, operable to identifysegment images; a second input data generator, operable to generateimages of a plurality of bond segments of said slave circuit, definingthe variable characteristics of said slave bonder; a segment comparator,coupled to said segment image loader, said segment identification loaderand said second input data generator, operable to retrieve said bondsegment images from said three input sources, to compare and quantifysaid variable bonder characteristics, and to relocate bond segments; abond location corrector, associated with said slave bonder and coupledto said segment comparator, operable to retrieve said relocated bondsegments and to re-compute said bond locations in each of said segments;a slave circuit image generator; an alignment reference image collector,coupled to said slave circuit image generator, operable to generateimages of alignment references on said slave circuit; and a relationshipgenerator, coupled to said bond location corrector and said alignmentreference image collector, operable to construct relationships for saidslave bonder between said re-computed bond locations, said alignmentreference images and said reference image locations.
 17. The systemaccording to claim 4 further having a computerized slave correctorcomprising: an alignment reference comparator, coupled to said alignmentreference image collector within said third input data generator andfurther to said fourth input data generator, operable to compare saidalignment reference image provided by said regenerator with thealignment image input from said slave circuit on said slave bonder, andto quantify shifts, rotations, and scalings between said two images orimage parts; a correcting re-computer, coupled to said alignmentreference comparator, to said bond location corrector within saidadaptive compensator, and to said relationship generator, operable torecompute the bond pad locations on said slave circuit based on therecreated bond x-y locations and the rebuilt relationships between saidx-y locations and the alignment reference image locations, and thus tocorrect the slave bond program; and a computerized bonder, coupled tosaid bond program corrector, operable as said slave bonder to attachconnecting bonds onto the bond pads of said slave circuit directed bysaid re-computed bond program.
 18. A computer-implemented method forcustomizing the operational program for a slave object on a slavemachine, comprising the steps of: grouping the action sites of a masterobject on a master machine into segments and storing the reference datarelated to said segments in a master file; regenerating said masterreference data so that variable characteristics of said slave machineare defined and adaptively compensated; and correcting said operationalprogram for said slave object on said adaptively compensated slavemachine.
 19. A computer-implemented method for compensating slavemachine variability and customizing operational programs for working onaction sites of slave objects, comprising the steps of: generating inputdata associated with a master machine, said data collected from a masterobject, related in geometry or history to said slave object, andcomprising geometrical information of action sites and action segments,images of said segments, and geometrical information of said images;generating an analysis for constructing relationships for said mastermachine between said action site locations, action segments, and segmentimage locations; storing said relationships, said geometricalinformation and said images in a master file as an operational masterprogram; generating input data associated with said slave machine, saiddata collected from said slave object and comprising images of aplurality of action segments, defining the variable characteristics ofsaid slave machine; retrieving said action segment images from saidmaster operational program as well as from said slave machine, comparingand quantifying said variable machine characteristics, and relocatingsaid action segments; retrieving said relocated action segments andre-computing said action locations in each of said segments; generatinginput information comprising images of alignment references collectedfrom an object selected first from said slave objects; constructingrelationships for said slave machine between said re-computed actionlocations, said alignment reference images, and said reference imagelocations; generating input information comprising images of alignmentreferences collected from an object selected consecutively from saidslave objects; comparing said alignment reference images from said firstselected slave object with said alignment reference images from saidconsecutively selected slave object; and correcting any deviations foundbetween said reference images, combining the result with saidrelationships, re-computing said action x-y locations, and correctingsaid operational program of said slave machine for working on saidaction sites of said consecutively selected slave object.
 20. Acomputer-implemented method for customizing the bond program for a slavecircuit on a slave bonder, comprising the steps of: grouping the bondpads of a master circuit on a master bonder into segments and storingthe reference data related to said segments in a master file;regenerating said master reference data so that variable characteristicsof said slave bonder are defined and adaptively compensated; andcorrecting said bond program for said slave circuit an said adaptivelycompensated slave bonder.
 21. A computer-implemented method forcompensating slave bonder variability and customizing bond programs forattaching connecting bonds onto bond pads of a slave integrated circuit,comprising the steps of: generating input data associated with a masterbonder, said data collected from a master integrated circuit, related ingeometry to said slave integrated circuit, and comprisinggeometrical-information of bond pads and bond pad segments, images ofsaid segments, and geometrical information of said images; generating ananalysis for constructing relationships for said master bonder betweensaid bond pad locations, bond segments, and segment image locations;storing said relationships, said geometrical information and said imagesin a master file as a master bond program; generating input dataassociated with said slave bonder, said data collected from said salvecircuit and comprising images of a plurality of bond segments, definingthe variable characteristics of said slave bonder; retrieving said bondsegment images from said master bond program as well as from said slavebonder; comparing and quantifying said variable bonder characteristics,and relocating said bond segments; retrieving said relocated bondsegments and re-computing said bond locations in each of said segments;generating input information, comprising images of alignment referencescollected from a circuit selected first from said slave circuits;constructing relationships for said slave bonder between saidre-computed bond locations, said alignment reference images, and saidreference image locations; generating input information, comprisingimages of alignment references collected from a circuit selectedconsecutively from said slave circuits; comparing said alignmentreference images from said first selected slave circuit with saidalignment reference images from said consecutively selected slavecircuit; and correcting any deviations found between said referenceimages, combining the result with said relationships between bondlocations and alignment reference image locations, and re-computing saidbond pad x-y locations; and correcting said bond program of said slavebonder for attaching bonds onto said bond pads of said consecutivelyselected slave circuit.
 22. The computer-implemented method according toclaim 21 wherein said step of generating input data from said mastercircuit comprises: selecting bond pad points, collecting x-y locationscorrelated to said points, and storing said x-y locations data in areference x-y file; grouping said bond pads into segments, determiningwhich bond points belong to which of said segments, and storing saidsegments data in a bond pad segments file; selecting x-y locations andgeometrical information identifying segment images and storing saidimage x-y locations data in a segment image x-y locations file; andcollecting images of said segments and storing said images in a segmentimage file.
 23. The computer-implemented method according to claim 21wherein said step of generating an analysis for constructingrelationships comprises: selecting x-y locations of said bond pads;expressing the mutual geometries of said x-y locations; expressing therelations of said x-y locations to said bond pad segments and segmentidentifying images and image locations; establishing the interconnectednetwork between said geometries and relations comprising equationsexpressed in x-y as well as polar coordinates; and storing said network,said geometries and said images in a file as the master bond program.24. The computer-implemented method according to claim 21 wherein saidstep of retrieving from said master file comprises the steps of:downloading said stored bond pad x-y locations data; downloading saidstored segment x-y locations data; and combining said downloaded datainto a segment-identifying images x-y locations loader, as well as asegment-identifying images loader.
 25. The method according to claim 21wherein said step of generating input information comprises the stepsof: selecting a first circuit from the plurality of slave circuits, thebond pads of said circuit to be bonded by said slave bonder; selectingimages of bond segments of said first slave circuit, defining thevariable characteristics of said slave bonder; and storing said imagesin a bond segment input file.
 26. The computer-implemented methodaccording to claim 21 wherein said step of comparing comprises the stepsof: retrieving said bond segment images from said loaders, supplied bysaid master file, and from said input file; and comparing said storedsegment images; quantifying shifts, rotations and scalings between saidtwo segment images to quantify said variable bonder characteristics; andrelocating said bond segments.
 27. The computer-implemented methodaccording to claim 21 wherein said step of correcting comprises thesteps of: retrieving said relocated bond segments; re-computing the x-ylocations of said bond pads in each of said segments; and correctingsaid variable bonder characteristics by compensating forapparatus-dependent variability as well as adapting to time-dependentvariability.